package com.youlv.yl.service.intf;

import com.youlv.yl.bo.UserNameLoginBo;
import com.youlv.yl.bo.UserPhoneLoginBo;
import com.youlv.yl.dto.UserAddDto;
import com.youlv.yl.entity.user.User;
import com.youlv.yl.vo.R;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author fenghe
 * @since 2022-01-02
 */
public interface UserService {
    /** 账号密码-登录*/
    R login(UserNameLoginBo bo, String ip);

    /** 手机号登录，注册*/
    R login(UserPhoneLoginBo bo, String ip);

    /** 注册*/
    R register(UserAddDto dto, String ip);

    /** 密码找回*/
    R findPassword(UserAddDto dto, String ip);

    /** 校验手机号*/
    User checkPhone(String phone);

    /** 昵称是否可用*/
    User checkName(String name);

    /** 注销，退出登录*/
    R loginOut(String token);

    /** 校验令牌是否有效*/
    R checkToken(String token);
}